Methods and apparatus for light-based positioning and navigation

ABSTRACT

Systems, methods, mobile computing devices and computer-readable media are described herein relating to light-based positioning. In various embodiments, light sources (106) may be commissioned to selectively energize one or more LEDs to emit light carrying a coded light signal. The coded light signal may convey information about a location of a lighting effect (102) projected by the one or more LEDs onto a surface (104). In various embodiments, mobile computing devices (100) such as smart phones or tablets may detect these coded light signals from the lighting effects and/or from the light sources, extract the location information, and utilize it to determine their locations within an environment.

CROSS-REFERENCE TO PRIOR APPLICATIONS

This application is the U.S. National Phase application under 35 U.S.C.§ 371 of International Application No. PCT/IB2014/065732, filed on Oct.31, 204, which claims the benefit of U.S. Provisional Patent ApplicationNo. 61/906,469, filed on Nov. 20, 2013. These applications are herebyincorporated by reference herein.

TECHNICAL FIELD

The present invention is directed generally to light-based positioningand navigation. More particularly, various inventive methods andapparatus disclosed herein relate to light sources commissioned andconfigured to emit coded signals carrying information about locations oflighting effects they produce, as well as the use of this information bymobile computing devices to determine a location of a mobile computingdevice within an environment.

BACKGROUND

Digital lighting technologies, i.e. illumination based on semiconductorlight sources, such as light-emitting diodes (LEDs), offer a viablealternative to traditional fluorescent, HID, and incandescent lamps.Functional advantages and benefits of LEDs include high energyconversion and optical efficiency, durability, lower operating costs,and many others. Recent advances in LED technology have providedefficient and robust full-spectrum lighting sources that enable avariety of lighting effects in many applications. Some of the fixturesembodying these sources feature a lighting module, including one or moreLEDs capable of producing different colors, e.g. red, green, and blue,as well as a processor for independently controlling the output of theLEDs in order to generate a variety of colors and color-changinglighting effects.

Coded light (CL) systems generally comprise a plurality of lights withineach of which is embedded a unique identifier or code. The invisibleidentifier or code can be embedded in light sources such as LEDs, aswell as incandescent, halogen, fluorescent, and high-intensity dischargelamps. The identifier is based on modulation of visible light of thelight source or by placing an additional infrared source in or with thelight source and modulating that light emitted by this infrared source.LEDs are particularly well-suited for CL systems since they allow forhigh modulation bandwidth and frequency.

The unique identifier or code emitted by the light source can beutilized by a wide variety of tools and applications, including theidentification of one or more specific light sources in the presence ofnumerous light sources, which in turn enables applications such aslighting manipulation and modification schemes. Further, informationabout the spatiotemporal location of the identified light source caneither be separately associated with the identified light source'sidentifier, or can be directly embedded into the code transmitted by thecoded light source. Coded light systems can be established in anylocation where a receiver capable of detecting coded light can be used,including but not limited to shopping malls, homes, office buildings,tunnels, subways, parking garages, and other locations.

As urbanization continues, more and larger indoor and/or undergroundenvironments will be built for shopping, parking, traffic, living, andso forth. Many such environments may alter, weaken and/or block globalpositioning system (GPS) signals, making navigation with mobilecomputing devices such as smart phones difficult. Those sameenvironments may lack natural sunlight, and therefore may be lit withartificial lighting. Technology exists that enables sources of thatartificial light to emit locational information that may be used bymobile computing devices for navigational purposes. However, a localnetwork connection (e.g., Wi-Fi) may be required for the mobilecomputing device to associate a particular light source with aparticular location. Further, such systems may not provide sufficientinformation for a mobile computing device to determine its preciselocation with sufficient accuracy.

Thus, there is a need in the art for light-based navigation andpositioning technology that does not require a mobile computing deviceto connect to a local (e.g., wireless) network, and that is moreaccurate than existing approaches.

SUMMARY

The present disclosure is directed to inventive methods and apparatusfor light-based positioning. For example, light sources may beconfigured, e.g., using commissioning computing devices, to emit codedlight signals that carry information about a position of lightingeffects projected by the light sources. Mobile computing devices such assmart phones and/or tablet computers may utilize this information todetermine their locations within an environment.

Generally, in one aspect, the invention relates to acomputer-implemented method for calculating a location of a mobilecomputing device within an environment that includes: receiving, at themobile computing device, a coded light signal originating from a lightsource; extracting, by the mobile computing device from the coded lightsignal, information about a location of a lighting effect projected bythe light source onto a surface; determining, by the mobile computingdevice, an orientation of the mobile computing device relative to thesurface; and calculating, by the mobile computing device, the locationof the mobile computing device within the environment based at least inpart on the location of the lighting effect and the orientation of themobile computing device.

In various embodiments, the calculating step may include calculating adistance of the mobile computing device from a center of the lightingeffect. In various versions, the method may further include calculating,by the mobile computing device, an angle between a first vectorextending from a focal point of a camera lens of the mobile computingdevice to the surface along a central axis of the camera lens, and asecond vector extending from the focal point to the center of thelighting effect, wherein calculating the location is further based onthe angle. In various versions, calculating the angle may be based atleast in part on a distance between a rendition of the lighting effecton a display of the mobile computing device and a center of the display.In various versions, calculating the location may be further based on anestimated reference distance of the mobile device from the surface.

In various embodiments, the calculating step may include calculating adistance of the mobile computing device from the light source. Invarious versions, the method may further include calculating, by themobile computing device, an angle between a first vector that is normalto the surface and a second vector that extends from the light source tothe mobile computing device. In various versions, calculating the anglemay be based at least in part on a distance between a rendition of thelight source on a display of the mobile computing device and a center ofthe display.

In various embodiments, the method may include extracting, by the mobilecomputing device from the coded light signal, a reference distance ofthe light source from the surface, wherein calculating the distance ofthe mobile computing device from the light source is based on thereference distance. In various embodiments, the method may furtherinclude determining, by the mobile computing device, an angle between afirst vector that extends along the surface from the mobile computingdevice to a position on the surface opposite the light source, and asecond reference vector that is predefined relative to a magnetic pole,wherein calculating the distance of the mobile computing device from thelight source is based on the extracted angle.

In another aspect, the invention relates to a light source that includesone or more light-emitting diodes (LEDs); and a controller operablycoupled with the one or more LEDs. The controller may be configured toselectively energize the one or more LEDs to emit light carrying a codedlight signal, wherein the coded light signal conveys information about alocation of a lighting effect projected by the one or more LEDs onto asurface. In various versions, the information about the location of thelighting effect includes a location of a center of the lighting effect.

In various embodiments, the coded light signal may further convey areference distance between the light source and the surface. In variousembodiments, the controller may be further configured to derive theinformation about the location of the lighting effect based on adirection of a light beam produced by the one or more LEDs.

In various embodiments, the controller may be further configured toderive the information about the location of the lighting effect basedon a width of a light beam produced by the one or more LEDs. In variousembodiments, a global positioning system (GPS) unit may be operablycoupled with the controller, and the controller may be furtherconfigured to derive the information about the location of the lightingeffect based on data received from the GPS unit and a direction of theemitted light beam.

In another aspect, the invention relates to a computer-implementedmethod for commissioning a light source, including: placing acommissioning device in a lighting effect projected by the light sourceonto a surface; determining, by the commissioning device, a location ofthe commissioning device within an environment; and transmitting, by thecommissioning device to the light source, a location of the lightingeffect within the environment, wherein the location of the light effectis based at least in part on the determined location of thecommissioning device.

In various embodiments, the transmitting may include transmitting areference distance between the light source and the surface. In variousembodiments, the transmitting may include transmitting an angle betweena first vector that is normal to the surface and extends from a centerof the lighting effect, and a second vector from the commissioningdevice to the light source. In various versions, the method may furtherinclude calculating, by the commissioning device, the angle based atleast in part on a distance between a rendition of the lighting effecton a display of the commissioning device and a center of the display.

In various embodiments, the transmitting may include transmitting anangle between a first vector that extends along the surface from acenter of the lighting effect to a position on the surface opposite thelight source, and a second reference vector that is predefined relativeto a magnetic pole. In various embodiments, the method may includecalculating, by the mobile computing device, the angle based at least inpart on an orientation of the mobile computing device relative to themagnetic pole.

As used herein for purposes of the present disclosure, the term “LED”should be understood to include any electroluminescent diode or othertype of carrier injection/junction-based system that is capable ofgenerating radiation in response to an electric signal. Thus, the termLED includes, but is not limited to, various semiconductor-basedstructures that emit light in response to current, light emittingpolymers, organic light emitting diodes (OLEDs), electroluminescentstrips, and the like. In particular, the term LED refers to lightemitting diodes of all types (including semi-conductor and organic lightemitting diodes) that may be configured to generate radiation in one ormore of the infrared spectrum, ultraviolet spectrum, and variousportions of the visible spectrum (generally including radiationwavelengths from approximately 400 nanometers to approximately 700nanometers). Some examples of LEDs include, but are not limited to,various types of infrared LEDs, ultraviolet LEDs, red LEDs, blue LEDs,green LEDs, yellow LEDs, amber LEDs, orange LEDs, and white LEDs(discussed further below). It also should be appreciated that LEDs maybe configured and/or controlled to generate radiation having variousbandwidths (e.g., full widths at half maximum, or FWHM) for a givenspectrum (e.g., narrow bandwidth, broad bandwidth), and a variety ofdominant wavelengths within a given general color categorization.

For example, one implementation of an LED configured to generateessentially white light (e.g., a white LED) may include a number of dieswhich respectively emit different spectra of electroluminescence that,in combination, mix to form essentially white light. In anotherimplementation, a white light LED may be associated with a phosphormaterial that converts electroluminescence having a first spectrum to adifferent second spectrum. In one example of this implementation,electroluminescence having a relatively short wavelength and narrowbandwidth spectrum “pumps” the phosphor material, which in turn radiateslonger wavelength radiation having a somewhat broader spectrum.

It should also be understood that the term LED does not limit thephysical and/or electrical package type of an LED. For example, asdiscussed above, an LED may refer to a single light emitting devicehaving multiple dies that are configured to respectively emit differentspectra of radiation (e.g., that may or may not be individuallycontrollable). Also, an LED may be associated with a phosphor that isconsidered as an integral part of the LED (e.g., some types of whiteLEDs). In general, the term LED may refer to packaged LEDs, non-packagedLEDs, surface mount LEDs, chip-on-board LEDs, T-package mount LEDs,radial package LEDs, power package LEDs, LEDs including some type ofencasement and/or optical element (e.g., a diffusing lens), etc.

The term “light source” should be understood to refer to any one or moreof a variety of radiation sources, including, but not limited to,LED-based sources (including one or more LEDs as defined above).

A given light source may be configured to generate electromagneticradiation within the visible spectrum, outside the visible spectrum, ora combination of both. Hence, the terms “light” and “radiation” are usedinterchangeably herein. Additionally, a light source may include as anintegral component one or more filters (e.g., color filters), lenses, orother optical components. Also, it should be understood that lightsources may be configured for a variety of applications, including, butnot limited to, indication, display, and/or illumination. An“illumination source” is a light source that is particularly configuredto generate radiation having a sufficient intensity to effectivelyilluminate an interior or exterior space. In this context, “sufficientintensity” refers to sufficient radiant power in the visible spectrumgenerated in the space or environment (the unit “lumens” often isemployed to represent the total light output from a light source in alldirections, in terms of radiant power or “luminous flux”) to provideambient illumination (i.e., light that may be perceived indirectly andthat may be, for example, reflected off of one or more of a variety ofintervening surfaces before being perceived in whole or in part).

The term “spectrum” should be understood to refer to any one or morefrequencies (or wavelengths) of radiation produced by one or more lightsources. Accordingly, the term “spectrum” refers to frequencies (orwavelengths) not only in the visible range, but also frequencies (orwavelengths) in the infrared, ultraviolet, and other areas of theoverall electromagnetic spectrum. Also, a given spectrum may have arelatively narrow bandwidth (e.g., a FWHM having essentially fewfrequency or wavelength components) or a relatively wide bandwidth(several frequency or wavelength components having various relativestrengths). It should also be appreciated that a given spectrum may bethe result of a mixing of two or more other spectra (e.g., mixingradiation respectively emitted from multiple light sources).

The term “lighting fixture” is used herein to refer to an implementationor arrangement of one or more lighting units in a particular formfactor, assembly, or package. The term “lighting unit” is used herein torefer to an apparatus including one or more light sources of same ordifferent types. A given lighting unit may have any one of a variety ofmounting arrangements for the light source(s), enclosure/housingarrangements and shapes, and/or electrical and mechanical connectionconfigurations. Additionally, a given lighting unit optionally may beassociated with (e.g., include, be coupled to and/or packaged togetherwith) various other components (e.g., control circuitry) relating to theoperation of the light source(s). An “LED-based lighting unit” refers toa lighting unit that includes one or more LED-based light sources asdiscussed above, alone or in combination with other non LED-based lightsources. A “multi-channel” lighting unit refers to an LED-based or nonLED-based lighting unit that includes at least two light sourcesconfigured to respectively generate different spectrums of radiation,wherein each different source spectrum may be referred to as a “channel”of the multi-channel lighting unit.

The term “controller” is used herein generally to describe variousapparatus relating to the operation of one or more light sources. Acontroller can be implemented in numerous ways (e.g., such as withdedicated hardware) to perform various functions discussed herein. A“processor” is one example of a controller which employs one or moremicroprocessors that may be programmed using software (e.g., microcode)to perform various functions discussed herein. A controller may beimplemented with or without employing a processor, and also may beimplemented as a combination of dedicated hardware to perform somefunctions and a processor (e.g., one or more programmed microprocessorsand associated circuitry) to perform other functions. Examples ofcontroller components that may be employed in various embodiments of thepresent disclosure include, but are not limited to, conventionalmicroprocessors, application specific integrated circuits (ASICs), andfield-programmable gate arrays (FPGAs).

In various implementations, a processor or controller may be associatedwith one or more storage media (generically referred to herein as“memory,” e.g., volatile and non-volatile computer memory such as RAM,PROM, EPROM, and EEPROM, floppy disks, compact disks, optical disks,magnetic tape, etc.). In some implementations, the storage media may beencoded with one or more programs that, when executed on one or moreprocessors and/or controllers, perform at least some of the functionsdiscussed herein. Various storage media may be fixed within a processoror controller or may be transportable, such that the one or moreprograms stored thereon can be loaded into a processor or controller soas to implement various aspects of the present invention discussedherein. The terms “program” or “computer program” are used herein in ageneric sense to refer to any type of computer code (e.g., software ormicrocode) that can be employed to program one or more processors orcontrollers.

The term “addressable” is used herein to refer to a device (e.g., alight source in general, a lighting unit or fixture, a controller orprocessor associated with one or more light sources or lighting units,other non-lighting related devices, etc.) that is configured to receiveinformation (e.g., data) intended for multiple devices, includingitself, and to selectively respond to particular information intendedfor it. The term “addressable” often is used in connection with anetworked environment (or a “network,” discussed further below), inwhich multiple devices are coupled together via some communicationsmedium or media.

In one network implementation, one or more devices coupled to a networkmay serve as a controller for one or more other devices coupled to thenetwork (e.g., in a master/slave relationship). In anotherimplementation, a networked environment may include one or morededicated controllers that are configured to control one or more of thedevices coupled to the network. Generally, multiple devices coupled tothe network each may have access to data that is present on thecommunications medium or media; however, a given device may be“addressable” in that it is configured to selectively exchange data with(i.e., receive data from and/or transmit data to) the network, based,for example, on one or more particular identifiers (e.g., “addresses”)assigned to it.

The term “network” as used herein refers to any interconnection of twoor more devices (including controllers or processors) that facilitatesthe transport of information (e.g. for device control, data storage,data exchange, etc.) between any two or more devices and/or amongmultiple devices coupled to the network. As should be readilyappreciated, various implementations of networks suitable forinterconnecting multiple devices may include any of a variety of networktopologies and employ any of a variety of communication protocols.Additionally, in various networks according to the present disclosure,any one connection between two devices may represent a dedicatedconnection between the two systems, or alternatively a non-dedicatedconnection. In addition to carrying information intended for the twodevices, such a non-dedicated connection may carry information notnecessarily intended for either of the two devices (e.g., an opennetwork connection). Furthermore, it should be readily appreciated thatvarious networks of devices as discussed herein may employ one or morewireless, wire/cable, and/or fiber optic links to facilitate informationtransport throughout the network.

It should be appreciated that all combinations of the foregoing conceptsand additional concepts discussed in greater detail below (provided suchconcepts are not mutually inconsistent) are contemplated as being partof the inventive subject matter disclosed herein. In particular, allcombinations of claimed subject matter appearing at the end of thisdisclosure are contemplated as being part of the inventive subjectmatter disclosed herein. It should also be appreciated that terminologyexplicitly employed herein that also may appear in any disclosureincorporated by reference should be accorded a meaning most consistentwith the particular concepts disclosed herein.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings, like reference characters generally refer to the sameparts throughout the different views. Also, the drawings are notnecessarily to scale, emphasis instead generally being placed uponillustrating the principles of the invention.

FIG. 1 schematically illustrates one example of how a mobile computingdevice may determine its location within an environment by determiningits distance from a lighting effect, in accordance with variousembodiments.

FIG. 2 schematically depicts an example of how a mobile computing devicemay determine a incident angle using its camera and display, inaccordance with various embodiments.

FIG. 3 schematically depicts one example of how a mobile computingdevice may determine its location within an environment by determiningits distance from a light source, and then determining the lightsource's distance from the light effect it produces, in accordance withvarious embodiments.

FIG. 4 schematically depicts one example of how a commissioningcomputing device may be utilized to commission a light source withinformation about a location of a lighting effect projected by the lightsource onto a surface, in accordance with various embodiments.

FIG. 5 schematically depicts an example light source, in accordance withvarious embodiments.

FIG. 6 schematically depicts an example method that may be implementedby a mobile computing device to determine its location within anenvironment, in accordance with various embodiments.

FIG. 7 depicts an example method of commissioning a light source, inaccordance with various embodiments.

DETAILED DESCRIPTION

More and larger indoor and/or underground environments are being builtfor shopping, parking, traffic, living, and so forth. Many suchenvironments may interfere with or even block GPS signals, makingconventional GPS-based navigation with mobile computing devicesdifficult. Those same environments may lack natural sunlight, andtherefore may be lit with artificial lighting. Technology exists thatenables sources of that artificial light to emit locational informationthat may be used by mobile computing devices for positioning and/ornavigational purposes. However, a local network connection (e.g., Wi-Fi)may be required for the mobile computing device to associate aparticular light source with a particular location, and such systems maynot provide sufficient information for a mobile computing device todetermine its location with sufficient accuracy.

Accordingly, Applicants have recognized and appreciated that it would bebeneficial to utilize lighting infrastructure to facilitate locationdetermination and navigation by mobile computing devices within anenclosed environment, without requiring a network connection by themobile computing devices. Applicants further recognized and appreciatedthat it would be beneficial to provide light-based navigation andpositioning to facilitate calculation of a mobile computing device'slocation within an environment with a higher degree of accuracy than hasbeen possible in the past.

In view of the foregoing, various embodiments and implementations of thepresent invention are directed to light-based navigation andpositioning. In various embodiments, light sources may be selectivelyenergized to project lighting effects on surfaces. Those lightingeffects may carry coded light signals that convey various types ofinformation about a location of the lighting effect. Mobile computingdevices such as smart phones and tablet computers may be equipped withcameras configured to utilize rolling shutter techniques to capturethese coded light signals. The mobile computing devices may then extractand use the location information for navigation and positioning.

In some embodiments, the coded light signals may simply conveygeographic coordinates. For instance, in some embodiments, the codedlight signals carried in the lighting effects may convey location dataformatted using a version of the World Geodetic System. In suchembodiments, a location on Earth may be expressed using latitude,longitude and height. In other embodiments, the coded light signals mayconvey more literal data, such as “northwest corner of first floor,”“women's shoes,” “southeast corner of garage floor A2,” “floor 5,” andso forth. In yet other embodiments, the coded light signals carried inthe lighting effects may convey location data that is pertinent in aparticular environment such as an underground parking lot or shoppingmall. For example, the location data may include Cartesian coordinatesdefined relative to a predefined origin within the environment. Whilemany of the following examples describe transmission of Cartesiancoordinates in coded light signals, this is not meant to be limiting,and other coordinate systems, such as Polar coordinates, may be usedinstead.

Referring to FIG. 1, in one embodiment, a mobile computing device in theform of a smart phone 100 may be configured to calculate its location inan environment (e.g., garage, store, mall, airport, etc.) by determininga distance to the center of a lighting effect 102 projected onto asurface 104 by a light source 106. In various embodiments, smart phone100 may be equipped with a camera having a lens 108, and may beconfigured to utilize rolling shutter to detect a coded light signalcarried in the lighting effect.

Assume lighting effect 102 is located at point (X₁, Y₁, Z₁), and thatsmart phone 100 is located at point (X₂, Y₂, Z₂). In variousembodiments, light source 106 may be configured to emit light thatcarries a coded light signal. In various embodiments, the coded lightsignal may carry information about a location of lighting effect 102projected onto surface 104. For example, the coded light signal maycarry the location of the center of the lighting effect, (X₁, Y₁, Z₁).

In various embodiments, smart phone 100 may have stored in memory areference height of smart phone, h_(phone), which may be an estimate ofa distance between smart phone 100 and surface 104 when smart phone 100is carried in a typical manner. For example, if a user of smart phone100 indicates that her age is 10, then smart phone 100 may assume anaverage height of a smart phone when carried by a typical ten-year-oldgirl. In other embodiments, h_(phone) may be conveyed by the coded lightsignal emitted by light source 106.

In various embodiments, smart phone 100 may determine its orientationrelative to surface 104. For instance, in various embodiments, smartphone 100 may determine the angle δ between a vector represented by theline h_(phone) in FIG. 1 and a first vector 110 extending from a focalpoint of a camera lens 108 of smart phone 100 to surface 104 along acentral axis of the camera lens. To determine δ, smart phone 100 mayutilize one or more of an accelerometer and/or a gyroscope.

In various embodiments, smart phone 100 may determine an angle ε betweenfirst vector 110 and a second vector 112 extending from the focal pointto the center of lighting effect 102. If camera lens 108 is pointeddirectly at the center of lighting effect 102, ε may be zero. In variousembodiments, the angle ε may be calculated based on a distance between arendition of lighting effect 102 on a display of smart phone 100 and acenter of the display. An example of this is shown in FIG. 2, where arendition of lighting effect 102 is rendered on a display 114 of smartphone 100. A distance 116 between a center of the rendition of lightingeffect 102 and a center of display 114 may be proportionate to, orotherwise related to, the angle ε of FIG. 1.

Once the angles δ, ε and the reference height h_(phone) are known, smartphone 100 may be configured to calculate various distances between smartphone 100 and a center of lighting effect 102. For instance, smart phonemay calculate ΔY using the following equation:ΔY=h _(phone)×tan(δ+ε).  (1)

FIGS. 1 and 2 demonstrate a simple example of a mobile computing device(i.e. smart phone 100) determining its location in an environmentprimarily in two dimensions, using a lighting effect. However, disclosedtechniques are equally applicable in three dimensions. Further, if amobile computing device detects more than one lighting effect 102 (ormore than one light source 106 as described below), in variousembodiments, the mobile computing device may calculate its locationwithin the environment using information conveyed in a coded lightsignal carried by the brightest observed lighting effect 102 (or lightsource 106).

FIG. 3 depicts a three-dimensional example of how a mobile computingdevice such as smart phone 100 may determine its location within anenvironment. In this example, smart phone 100 may determine its locationon the X/Y plane, (X₁, Y₁), based on its distance from light source 106and a distance between light source 106 and the lighting effect 102 itprojects. Assume that light source 106 projects a lighting effect 102 ona surface 104 that is the X/Y plane. In some embodiments, Z₁ may bebased on h_(phone) in FIG. 1 because it may represent an estimatedheight of smart phone 100 when held by a user. Assume also that lightsource 106 is located at point (X₂, Y₂, h_(light)), and that lightingeffect 102 is projected onto surface 104 at point (X₃, Y₃, Z₃).

Light source 106 may be commissioned in a process described below toemit a coded light signal. The coded light signal may convey variousinformation about a location of lighting effect 102 in the environment.For example, the coded light signal may convey a reference distanceh_(light) between light source 106 and surface 104. Smart phone 100 mayextract this information from the coded light signal and use it toperform various calculations to determine its location within theenvironment.

In various embodiments, smart phone 100 may calculate an angle ε₂between a first vector, e.g., n_(phone) in FIG. 3, that is normal tosurface 104, and a second vector, r₂, that extends from light source 106to smart phone 100. In various embodiments, and similarly as describedabove with reference to FIG. 2, this calculation may be based on anorientation of smart phone 100 as detected by a gravity sensor, as wellas a distance 116 between a rendition of the light source 106 on display114 of smart phone 100 and a center of display 114.

In various embodiments, a distance between smart phone 100 and lightsource 106 along the X/Y plane, r_(2x,y), may be calculated based onh_(light) and ε₂, using an equation such as one of the following:r _(2x,y) =h _(light)/tan(90°−ε₂)  (2)r _(2x,y) =h _(light)×tan(ε₂)  (3)These equations and others described above and below are not meant to belimiting, and it should be understood that other equations may beperformed in other orders without departing from the present disclosure.

In various embodiments, smart phone 100 may calculate an angle φ₂between r_(2x,y) and a reference vector. In various embodiments, thereference vector may be transmitted in the coded light signal emitted bylight source 106 or preprogrammed into smart phone 100. In someembodiments, the reference vector may be predefined relative to amagnetic pole (including parallel to the pole). For instance, in FIG. 3,the Y-axis is the reference vector, and is aligned with magneticnorth/south. Smart phone 100 may be equipped with a sensor such as acompass to detect the magnetic pole, the reference vector, its ownorientation relative to the reference vector, and ultimately, angle φ₂.Once angle φ₂ is known, ΔX₂ and ΔY₂ may be calculated using equationssuch as the following:ΔX ₂ =r _(2x,y)×sin(φ₂)  (4)ΔY ₂ =r _(2x,y)×cos(φ₂)  (5)

In some embodiments, once ΔX₂ and ΔY₂ are known, smart phone 100 maydetermine its location within the environment further based on alocation of lighting effect 102. For instance, the coded light signalemitted by light source 106 may convey, in addition to h_(light), thecoordinates (X₃, Y₃, Z₃) of lighting effect 102 as well as an angle ε₃between a vector n_(I.e) that is normal to surface 104 and that extendsfrom a center of lighting effect 102, and a vector r₃ from light source106 to the center of lighting effect 102. Once ε₃ is known, a distancer_(3x,y) of light source 106 from lighting effect 102 along surface 104may be calculated based on h_(light) and ε₃, using an equation such asone of the following:r _(3x,y) =h _(light)/tan(90°−ε₃)  (6)r _(3x,y) =h _(light)×tan(ε₃)  (7)

In various embodiments, the coded light signal emitted by light source106 may convey an angle φ₃ between r_(3x,y) and the Y-axis (which asmentioned above is aligned with magnetic north). Once r_(3x,y) and φ₃areknown, ΔX₃ and ΔY₃ may be calculated, e.g., by smart phone 100, usingequations such as the following:ΔX ₃ =r _(3x,y)×sin(φ₃)  (8)ΔY ₃ =r _(3x,y)×cos(φ₃)  (9)

Once ΔX₂, ΔX₃, ΔY₂ and ΔY₃ are known, smart phone 100 may calculate itslocation (X₁, Y₁) on the X/Y plane relative to the location of thecenter of lighting effect, (X₃, Y₃), using an equation such as thefollowing:(X ₁ , Y ₁)=(X ₃ +ΔX ₂ +ΔX ₃ , Y ₃ +ΔY ₂ +ΔY ₃)  (10)Z₃ may simply be h_(phone), unless lighting effect 102 is projected ontoa different surface than the user holding smart phone 100. In such case,Z₃ may be a difference in height between the two surfaces.

In some embodiments, light source 106 may be commissioned to emit acoded light signal that carries its own location, in addition to orinstead of the location of the center of lighting effect 102. In suchembodiments, it may be possible for smart phone 100 to calculate itsposition using equations such as (2)-(5), without performing equations(6)-(9).

It should be noted that, in the simplest case where smart phone 100 isplaced directly in the light beam emitted by light source 106, e.g., ontop of or near the center of lighting effect 102, smart phone 100 maycalculate its position as simply the position of lighting effect, (X₃,Y₃, Z₃).

In some scenarios, the mobile computing device may move through anenvironment quickly. For example, a mobile computing device associatedwith a vehicle (e.g., a GPS navigation unit) may move through a tunnel,where GPS is unavailable, at a high rate of speed. Light sources in thetunnel may emit coded light signals conveying location information.Because the vehicle is moving quickly, a light sensor matrix may beinstalled on the vehicle. To compensate for short exposure time, invarious embodiments, multiple light sources in the tunnel may emit codedlight signals conveying the same location information, e.g., in asynchronized manner to create a longer beam.

As mentioned previously, in order for light source 106 to emit a codedlight signal conveying information such as h_(light), the location ofthe center of lighting effect (X₃, Y₃, Z₃), φ₃ or ε₃, it may first becommissioned with this data. In some embodiments, each light source 106may be commissioned manually, e.g., by the manufacturer or by someoneinstalling light source 106 in an environment. In some embodiments,light source 106 may be commissioned using a commissioning device. Acommissioning device may in some embodiments be a portable computingdevice designed specifically for commissioning light sources. Forinstance, an autonomous robotic commissioning device may be configuredto autonomously travel around an environment to multiple lightingeffects 102, where it commissions the corresponding light sources 106.In other embodiments, the commissioning device may be a general purposemobile computing device, such as a smart phone or tablet, that may beplaced into a lighting effect 102.

FIG. 4 depicts one example of how an example commissioning device 418may be used to commission light source 106 so that other mobilecomputing devices (e.g., smart phone 100) are able to calculate theirlocations within an environment. As was the case with FIG. 3, assumethat a center of lighting effect 102 is located at point (X₃, Y₃, Z₃),and the light source 106 is located at point (X₂, Y₂, h_(light)). Insome embodiments, light source 106 may emit a coded light signalidentifying itself. In other embodiments, an identifier of light source106 may be input into commissioning device 418 manually.

Commissioning device 418 may be positioned, or may position itself ifautonomous, at the center of light effect 102, i.e. at point (X₃, Y₃,Z₃). Assume that commissioning device 418 knows its location, e.g.,using GPS or by tracking wheel rotations and turns from a known startingpoint. Once commissioning device 418 is so positioned, it may commissionlight source 106 by transmitting information about the location oflighting effect 102 to light source 106, e.g., using variouscommunication technologies such as Wi-Fi, Bluetooth, NFC, RFID, codedlight, and so forth.

For instance, commissioning device 418 may transmit its location (whichis at the center of lighting effect 102) to light source 106.Commissioning device 418 may also transmit to light source 106 areference height h_(light) of light source 106. In some embodiments,commissioning device 418 may calculate and transmit to light source 106various angles, such as angles φ₃ or ε₃.

In various embodiments, commissioning device 418 may calculate the angleε₃ between r₃ and the normal vector n_(I.e). In various embodiments, theangle ε₃ may be calculated using techniques similar to those used tocalculate the angle ε in FIGS. 1 and 2. For instance, commissioningdevice 418 may know an orientation of its camera (or other lightsensor), similar to the first vector 110 of FIG. 1. Commissioning device418 may then calculate ε₃ based on a difference between a center of adisplay (or a memory buffer containing two-dimensional data representinga captured image) and a rendition of light source 106 on the display (orthe memory buffer).

In some embodiments, commissioning device 418 may additionally oralternatively calculate the angle φ₃ between r_(3x,y) and a referencevector that is predefined relative to a magnetic pole. For instance, inFIG. 4, the reference vector is the Y-axis, which is predefined alongthe magnetic pole. Commissioning device 418 may be equipped with asensor such as a compass to detect the magnetic pole, its ownorientation relative to the magnetic pole, and ultimately, angle φ₃. Thecommissioning device may then transmit this angle φ₃ to light source106.

In some embodiments, commissioning device 418 may transmit to lightsource 106 the location of light source 106, although this is notrequired when using the techniques demonstrated in FIG. 3. For instance,based on the reference height h_(light) and the angle ε₃, commissioningdevice 418 may calculate r_(3x,y). Once r_(3x,y) is known, it can beused with the angle φ₃ to calculate ΔX₃ and ΔY₃. These values may beadded to the position of commissioning device 418 on the X/Y plane, (X₃,Y₃), to determine the position of light source 106 on the X/Y plane.

FIG. 5 schematically depicts components of an example light source 106,in accordance with various embodiments. Light source 106 may include oneor more light-emitting diodes (LEDs) 520 and a controller 522 operablycoupled with the one or more LEDs 520 and configured to selectivelyenergize the one or more LEDs 520 to emit light carrying a coded lightsignal. As noted above, in various embodiments, the coded light signalmay convey various information about a location of lighting effect 102projected by the one or more LEDs onto surface 104. For example, in someembodiments, the information about the location of lighting effect 102includes a location of a center of lighting effect 102. In someembodiments, the coded light signal also conveys a reference distance(e.g., h_(light)) between light source 106 and surface 104.

In some embodiments, controller 522 may be configured to derive theinformation about the location of lighting effect 102 based on adirection of a light beam produced by the one or more LEDs 520. Forinstance, light source 106 may be aware of its location, either by beingcommissioned by a commissioning device or via a GPS unit 524. Lightsource 106 may also have stored in memory a distance (e.g., h_(light))between light source 106 and surface 104 onto which it projects alighting effect 102. Using these values, as well as a direction of alight beam emitted by light source, light source 106, e.g., by way ofcontroller 522, may be configured to calculate a location of lightingeffect 102. In other embodiments, controller 522 may be configured toderive the information about the location of the lighting effect basedon a width of a light beam produced by the one or more LEDs 520.

Although in examples described herein, lighting effect 102 has beenprojected on a horizontal surface, this is not meant to be limiting.Lighting effect 102 may be projected onto surfaces of any orientation,including horizontal, vertical, and anything in between. Moreover,surfaces 104 are not necessarily limited to floors. In some cases, thesurfaces 104 may be raised surfaces of tables or other furniture. Insuch case, the Z-coordinate of lighting effect 102 and/or a referencedistance between light source 106 and surface 104 (e.g., h_(light)) mayreflect the raised surface.

FIG. 6 depicts an example method 600 that may be implemented by a mobilecomputing device such as smart phone 100 to calculate its positionwithin an environment, in accordance with various embodiments. At block602, a coded light signal may be received, e.g., by smart phone 100 fromlight source 106. At block 604, smart phone may extract a location of alighting effect 102 produced by light source 106 on a surface 104.

At block 606, smart phone 100 may determine a reference distance. If acamera of smart phone 100 is pointed at lighting effect 102, then thereference distance may be an estimated distance between smart phone 100and surface 104, e.g., h_(phone) in FIG. 1. If the camera of smart phone100 is pointed at light source 106, on the other hand, then thereference distance may by a distance between light source 106 and thesurface 104 on which light source 106 projects its lighting effect 102,e.g., h_(light) in FIGS. 3 and 4. In some cases, h_(phone) may besubtracted from h_(light) to reflect a true distance in a direction ofthe Z-axis between smart phone 100 and light source 106.

At block 608, smart phone 100 may determine its orientation relative toa magnetic pole, e.g., using a compass. For example, in FIG. 3, smartphone 100 determined the angle φ₂. At block 610, smart phone 100 maydetermine its orientation relative to surface 104, e.g., using one ormore accelerometers and/or gyroscopes. For example, smart phone 100 inFIG. 1 determined the angle δ. At block 612, smart phone 100 maydetermine an incident angle between a central axis of its camera and avector from light source 106 or a center of lighting effect 102 to thecamera's focal point. For instance, smart phone 100 in FIG. 1 determinedthe angle ε as demonstrated in FIG. 2 by determining a distance 116between a center of display 114 and a rendition of lighting effect 102on display 114.

At block 614, smart phone 100 may calculate a distance between itselfand lighting effect 102 and/or light source 106. For example, in FIG. 1,smart phone 100 used the sum of the two angles δ and ε in FIG. 1, inaddition to the reference distance h_(phone), to calculate ΔY. Similartechniques were implemented by smart phone 100 in FIG. 3 to determiner_(2x,y) and r_(3x,y).

At block 616, based on the distance between smart phone 100 and lightingeffect 102 and/or light source 106, as well as the location of lightingeffect 102 (as conveyed by the coded light signal emitted by lightsource 106), smart phone 100 may calculate its location in environment.

FIG. 7 depicts an example method 700 that may be implemented usingcommissioning device 418, in accordance with various embodiments. Atblock 702, commissioning device 418 may be placed in lighting effect102, e.g., at its center. At block 704, commissioning device 418 maydetermine its location, e.g., using GPS or by tracking turns androtations of its wheels.

At block 706, commissioning device 418 may determine its orientationrelative to a magnetic pole, e.g., using a compass. For example, in FIG.4, the commissioning device determined the angle φ₃. At block 708,commissioning device 418 may determine its orientation relative tosurface 104. For example, in FIG. 4, commissioning device 418 determinedthe angle ε₃ based at least in part on an orientation of its camera orlight sensor.

At block 710, commissioning device 418 may transmit the informationdetermined at block 704-708 to light source 106, e.g., using variouscommunication technologies such as Wi-Fi, Bluetooth, coded light, NFC,RFID, and so forth.

While several inventive embodiments have been described and illustratedherein, those of ordinary skill in the art will readily envision avariety of other means and/or structures for performing the functionand/or obtaining the results and/or one or more of the advantagesdescribed herein, and each of such variations and/or modifications isdeemed to be within the scope of the inventive embodiments describedherein. More generally, those skilled in the art will readily appreciatethat all parameters, dimensions, materials, and configurations describedherein are meant to be exemplary and that the actual parameters,dimensions, materials, and/or configurations will depend upon thespecific application or applications for which the inventive teachingsis/are used. Those skilled in the art will recognize, or be able toascertain using no more than routine experimentation, many equivalentsto the specific inventive embodiments described herein. It is,therefore, to be understood that the foregoing embodiments are presentedby way of example only and that, within the scope of the appended claimsand equivalents thereto, inventive embodiments may be practicedotherwise than as specifically described and claimed. Inventiveembodiments of the present disclosure are directed to each individualfeature, system, article, material, kit, and/or method described herein.In addition, any combination of two or more such features, systems,articles, materials, kits, and/or methods, if such features, systems,articles, materials, kits, and/or methods are not mutually inconsistent,is included within the inventive scope of the present disclosure.

All definitions, as defined and used herein, should be understood tocontrol over dictionary definitions, definitions in documentsincorporated by reference, and/or ordinary meanings of the definedterms.

The indefinite articles “a” and “an,” as used herein in thespecification and in the claims, unless clearly indicated to thecontrary, should be understood to mean “at least one.”

As used herein in the specification and in the claims, the phrase “atleast one,” in reference to a list of one or more elements, should beunderstood to mean at least one element selected from any one or more ofthe elements in the list of elements, but not necessarily including atleast one of each and every element specifically listed within the listof elements and not excluding any combinations of elements in the listof elements. This definition also allows that elements may optionally bepresent other than the elements specifically identified within the listof elements to which the phrase “at least one” refers, whether relatedor unrelated to those elements specifically identified.

It should also be understood that, unless clearly indicated to thecontrary, in any methods claimed herein that include more than one stepor act, the order of the steps or acts of the method is not necessarilylimited to the order in which the steps or acts of the method arerecited.

Reference numerals appearing in the claims, if any, are provided merelyfor convenience and should not be construed as limiting the claims inany way.

In the claims, as well as in the specification above, all transitionalphrases such as “comprising,” “including,” “carrying,” “having,”“containing,” “involving,” “holding,” “composed of,” and the like are tobe understood to be open-ended, i.e., to mean including but not limitedto. Only the transitional phrases “consisting of” and “consistingessentially of” shall be closed or semi-closed transitional phrases,respectively, as set forth in the United States Patent Office Manual ofPatent Examining Procedures, Section 2111.03.

The invention claimed is:
 1. A computer-implemented method forcalculating a location of a mobile computing device within anenvironment, comprising: receiving, at the mobile computing device, acoded light signal originating from a light source; extracting, by themobile computing device from the coded light signal, information about alocation position coordinates of a center of a lighting effect projectedby the light source onto a surface; determining, by the mobile computingdevice, an orientation of the mobile computing device relative to thesurface; and calculating, by the mobile computing device, (a) thelocation of the mobile computing device within the environment based atleast in part on the location of the lighting effect and the orientationof the mobile computing device, (b) a distance of the mobile computingdevice from the center of the lighting effect, and (c) an angle betweena first vector extending from a focal point of a camera lens of themobile computing device to the surface along a central axis of thecamera lens, and a second vector extending from the focal point to thecenter of the lighting effect, wherein calculating the location isfurther based on the angle.
 2. The computer-implemented method of claim1, wherein calculating the angle is based at least in part on a distancebetween a rendition of the lighting effect on a display of the mobilecomputing device and a center of the display.
 3. Thecomputer-implemented method of claim 1, wherein calculating the locationis further based on an estimated reference distance of the mobile devicefrom the surface.
 4. The computer-implemented method of claim 1, whereinthe calculating comprises calculating a distance of the mobile computingdevice from the light source.
 5. The computer-implemented method ofclaim 4, further comprising calculating, by the mobile computing device,an angle between a first vector that is normal to the surface and asecond vector that extends from the light source to the mobile computingdevice.
 6. The computer-implemented method of claim 5, whereincalculating the angle is based at least in part on a distance between arendition of the light source on a display of the mobile computingdevice and a center of the display.
 7. The computer-implemented methodof claim 4, further comprising extracting, by the mobile computingdevice from the coded light signal, a reference distance of the lightsource from the surface, wherein calculating the distance of the mobilecomputing device from the light source is based on the referencedistance.
 8. The computer-implemented method of claim 4, furthercomprising determining, by the mobile computing device, an angle betweena first vector that extends along the surface from the mobile computingdevice to a position on the surface opposite the light source, and asecond reference vector that is predefined relative to a magnetic pole,wherein calculating the distance of the mobile computing device from thelight source is based on the extracted angle.
 9. A mobile computingdevice comprising: one or more processors; and memory operably coupledwith the one or more processors, the memory storing instructionsconfigured to cause the one or more processors to: receive a coded lightsignal originating from a light source; extract, from the coded lightsignal, position coordinates of a center of a lighting effect projectedby the light source onto a surface; determine an orientation of themobile computing device relative to the surface; calculate an anglebetween a first vector extending from a focal point of a camera lens ofthe mobile computing device to the surface along a central axis of thecamera lens, and a second vector extending from the focal point to thecenter of the lighting effect; and calculate a location of the mobilecomputing device within an environment based at least in part on theposition coordinates of the center of the lighting effect, theorientation of the mobile computing device, and the angle.